home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Games of Daze
/
Infomagic - Games of Daze (Summer 1995) (Disc 1 of 2).iso
/
x2ftp
/
msdos
/
ai
/
gaf200b
/
doc
/
gaf.doc
< prev
next >
Wrap
Text File
|
1994-10-27
|
48KB
|
1,009 lines
Introduction
This document is intended to be the user guide for GA-FuzzyWare. It
covers basic concepts of GAF (sections 1 - 4), interactive interfaces
(sections 5 - 14), and command arguments and configuration (sections 15 -
16).
Section 1: Running Modes
A brief description of all running modes provided by GAF.
Section 2: Schedule Policy
Describes the scheduling policy under different schedule modes
provided by GAF.
Section 3: Emulation
Covers essentials of the emulation segment(s) under GAF.
Section 4: Adaptation
The details about how adaptation works in the GAF environment.
Section 5: System Menu
Explains the menu bar of GAF, and how it works.
Section 6: GAF Windows
Explains different windows provided in GAF and covers contents of
these windows.
Section 7: File Menu
Section 8: Run Menu
Section 9: Option Menu
Section 10: Segment Menu
Section 11: Display Menu
Section 12: Adapt Menu
Section 13: Method Menu
Detail descriptions on the use of all the pull down menus.
Section 14: Function Keys
Covers available function keys provided by GAF.
Section 15: Command Syntax
Explains how to invoke GAF from the DOS and available command
arguments.
Section 16: Configuration
Brief describes the start up configuration file.
GAF Conventions
The following conventions are used throughout this document.
'Enter' means the Enter key or the Return key.
Type 'key' means press the specified key without 'Enter'.
Press F? means press the specified function key without 'Enter'.
Enter means type in the specified text and followed by 'Enter' key.
Select/Use an option:
use cursor keys to move the highlighted option and then
press 'Enter', or type the character on the left.
GAF is not case sensitive, use either upper or lower cased key.
Other GAF References
Please refer to following GAF documents:
fcl.doc fuzzy control language document
tutorial.doc tutorial for construct a GAF segment
demo.doc how to run the demon example
Running Modes
There are five running modes provided by GAF: control, monitor, check
segment, simulation, and adapt. Note that control and monitor modes are
not supported for current release.
Control Mode
The control mode provides users for online control and limited user
interfaces for interacting with the real control environment and
fuzzy rule segments. The output of all segments are routed through
output channels, and the inputs are brought in through the input
channels.
Monitor Mode
The monitor mode provides users for online monitoring and analyzing
the real control environment and fuzzy rules. The output of all
segments are for display only, they are NOT routed through output
channels, but the inputs are brought in through the input channels.
Check Segment
This feature allows user to examine one segment at a time. Combined
with other segment functions, such as preset and modify variables,
user can check the response of the selected segment with fixed
(constant) or manual values for inputs and local variables.
Simulation Mode
The simulation mode offers user to simulate the system with feedback
or emulation segment(s) for integration test. The emulation can be
user defined segment(s) or user provided data set with EMUL_SEGMENT
or FEEDBACK keyword. The simulation environment allows user to tune
up and debug control system with features such as single step and
others. Please refer to Emulation section for more details about
feedback segments.
Adapt mode
The adapt mode provides an offline adaptation of the fuzzy control
system. An evaluation segment and its corresponding evaluation
result score (an output variable) must be specified. When adapt mode
is selected, GAF automatically optimizes the control segment by
adjusting/adding/deleting rules and adjusting fuzzy membership sets.
Please refer to the Adaptation section for more details of genetic-
adaptation and also refer to FCL.DOC for defining an evaluation
segment.
Schedule Policy
There are four different time modes: real time mode, simulated time
mode, sim-schedule mode, and 24 hours clock mode. The real time mode
uses actual system clock (computer clock) for scheduling the
segments. This mode is the only allowed mode for running in the
control mode. The following is an example of how real time mode
schedules a three segments system with 0.1, 0.2, and 0.3 cycle time.
Assume that each segment takes 0.05 second to run, and all three
segments are enabled all the time. GAF scheduling table will be:
Sweep # Time Seg 1 Seg 2 Seg 3
-------- ----- ----- ----- -----
1 0.00 Run Run Run
2 0.15 Run --- ---
3 0.20 --- Run ---
4 0.25 Run --- ---
5 0.30 --- --- Run
Instead of using real system time, the simulated time mode uses fixed
time interval to simulate the schedule rate for the system. For
example if the user specifies schedule interval is 0.1 second. Then
the above scheduling table will be:
Sweep # Time Seg 1 Seg 2 Seg 3
-------- ----- ----- ----- -----
1 0.0 Run Run Run
2 0.1 Run --- ---
3 0.2 Run Run ---
4 0.3 Run --- Run
5 0.4 Run Run ---
The sim-schedule mode resembles the simulated time mode, except that
it does not use the cycle time of each segment for scheduling.
Instead the sim-schedule mode uses the schedule rate for all
segments, i.e. runs all segments all the time. Therefor, the
scheduling table will be:
Sweep # Time Seg 1 Seg 2 Seg 3
-------- ----- ----- ----- -----
1 0.0 Run Run Run
2 0.1 Run Run Run
3 0.2 Run Run Run
4 0.3 Run Run Run
5 0.4 Run Run Run
The simulated clock mode is a variation of sim-schedule mode. This
mode allows user to simulate 24 hours clock within a single plot
frame.
Emulation
An emulation segment is just like a control segment with EMUL_SEGMENT or
FEEDBACK keyword instead of SEGMENT. You can define the feedback
segment with fuzzy rules, math formulas, or data tables. Multiple
feedback segments are allowed. In simulation mode GAF automatically
closes the control and feedback loop with the same variable names. For
example, if there is an input variable "POS_ERR" defined in the control
segment, and it is also declared as an output in the feedback segment.
Then GAF automatically uses the output value from the feedback segment
as the input value of the control segment. On initialization, GAF searches
through all segments to find matches among regular (control) and feedback
segments. Please refer to Fuzzy Control Language (FCL) guide for
constructing a GAF segment.
GAF supports two kinds of feedback modules. The first one is using user
data, from field measured data or generated from higher level model. The
other choice is to use user defined feedback segment.
To use user data as feedback, user simply put data in a text file with
spread sheet like format, i.e., one column per variable, with different
variables in a row. The data set must be an evenly distributed complete
data set with both input and output variables declared as a normal
segment. GAF only has limited capability to handle non-evenly distributed
data set. The output variables defined in this file will be treated as
output of a feedback segment.
Alternatively, user can use the combination of fuzzy rules and math
processing (pre and post processing) to build an emulation segment to
close the feedback loop in order to simulate the system.
One of the important features in GAF is that you can tune your system by
trying different schedule rate (or cycle time defined in each segment).
There are different time modes offered by simulation mode and check mode.
These time modes are: real time mode, simulated time mode, sim-schedule
mode, and 24 hours clock mode. Please refer to the Schedule Policy
section for details about these time modes.
Adaptation
While fuzzy logic mimics the human's imprecise reasoning, the genetic
algorithm mimics the evolution of the nature. The genetic algorithm uses
randomization techniques to reach local optimum without exhausting
searching through the solution state space. With randomization, genetic
algorithm is also capable of escaping from local optimum and hopping into
a new better state. GAF uses genetic algorithm to derive proper rules
and fuzzy sets from the initial rules. By changing, adding, deleting rules
and fuzzy membership sets of the fuzzy system, the genetic algorithm
automatically adapts and optimizes the fuzzy control system.
Besides the feedback segment, the adapt mode also needs an evaluation
segment for evaluating the result of adaptation. With current release,
user must build an evaluation segment and specify the result variable of
evaluation. A canned evaluation will be supported in future release.
Basics for Adaptation
The basic concept of genetic-adaptation process is that GAF
produces a new segment (by mutation or crossover from existing
segment(s)) and then evaluates the new segment and compares its
result against old ones (saved in the population pool). If a better
result is obtained, the new segment is inserted into the population
pool and the worst one in the pool will be removed.
After starting adapt, GAF evaluates the selected adapt segment and
saves it on the top of the population pool. The pool can save up to
one hundred best generations in the order of their performance --
the evaluation result. GAF then repeats the genetic-adaptation
process -- creation, evaluation, and judging the result, until
reaches a pre-specified maximum iteration or quit from the user.
Reproduction from Elites
One of the concept in genetic algorithm is that the fittest gets the
highest chances to produce its off-springs, so it has the best chance
to preserve its better genes.
GAF uses weighed random to select one or two segments out of the
population pool to reproduce a "next generation" based on one of the
methods described under Adaptation Method. So, the fittest
generation, which has the best evaluation result, has the highest
weight in the weighed random selection.
Evaluation Criteria
The evaluation process for genetic-adapt is defined as follow. GAF
runs through all preset cycles, which are preset conditions defined
in evaluation and other segments. After each cycle the result score
from the evaluation segment (see Evaluation under Option menu for
defining result variable) is compared to the minimum score. If it is
below the minimum and the population pool has been filled up, GAF
stops further evaluation and delete this new generation. Otherwise
GAF keeps evaluation through all preset cycles. The overall
evaluation result will be the average score of all the preset cycles.
User can specify the test time for preset test cycle and number of
samples should be taken for evaluation. The test time is used to run
each preset test, then GAF samples the score result for the
specified number of times. The preset evaluation result will be the
average of all samples, and the final result will be the average of all
preset cycles. For example, if the test time is two seconds and the
number of samples is 4 (with 0.1 sample rate), the total time for a
preset cycle will be 2.3 seconds.
Adaptation Method
GAF uses weighed random to select one of the genetic algorithms for
creating next generation. GAF allows user to change all predefined
methods used by GAF. Followings are brief descriptions of these
methods.
Change rules
The change rules method adapts the existing rules, i.e., modify
existing rules with mutation and other algorithms. No new rule
will be added and no rule will be disabled.
Adjust input set
The adjust input set method alters the fuzzy membership sets
defined in the segment. The following algorithms are used to
modify the membership set.
Mutate
The mutate method randomly change one or two "cell" in the
membership set.
Crossover
The crossover method uses two parent genes (two
generations from the gene pool) to generate next generation
by inheriting cells from either parent.
Intensify/dilute
The intensify method intensifies the membership set, the
dilute method dilutes the membership set.
Broaden/restrict
This method either broaden or restrict the fuzzy membership
set.
Shift fuzzy set
The shift method shifts the membership set along the value
without changing its shape.
Change truth
This method alters the truth value of the selected fuzzy
membership set.
Adding new rule
This method creates new generation by adding new rule to the
segment. The new rule is created with the same way as described
in change rule.
Enable and disable rule
This method disable (or enable) rule to form a new segment.
Alter cycle time
This method creates new generation by modifying the cycle time
of the old segment. The range of cycle time can be specified with
max and min under adapt menu.
Alter output gain
This method adjusts the output gain to form a new generation.
System Menu
The GAF system menu bar, at the top of the screen, is the primary user
interface to the system. The system menu bar contains following menu
items: File, Run, Display, Option, Adapt, Method, Segment, and Help. Use
the first character of each menu item or use cursor keys (right/left
arrows) to select the menu item. When a menu item is selected a pull down
menu appears to provide function selection. To select a function item in
a pull down menu either by the character on the left of that item or move
the cursor with up/down arrow keys and then "Enter". When a function item
is selected, further secondary menu selection or data entry dialog may
be provided by that function. Except rule selection, all secondary menus
and data entry dialog boxes are displayed immediately beneath the pull down
menu. GAF uses rule text window for rule selection. Press ESC in pull
down menu and secondary menu will return to system menu (the menu bar).
Press ESC under system menu will bring up the Run menu, except when the
system menu was ESCaped from any of the running mode (i.e. from adapting
or simulation). Before discussing each menu item in detail, the screen
windows are explained for clarification.
GAF Windows
There are five types of system windows and four types of display windows.
The system windows are: menu window, hint window, adapt status window,
segment title window, and segment display window. The segment display
window contains four sub-windows: rule text window (text window), trend
plot window (plot window), combined result window (result window), and fuzzy
rule firing window (firing window).
Menu Window
The menu window is at the top of the screen occupied by the system
menu bar as described above. In any of the run mode, the menu window
is closed; use ESC or F10 to get back to system menu.
Hint Window
The hint window is at the bottom of the screen to provide user hints
(available keys or functions) to the user. Note that in run modes the
hint window also displays the current schedule rate.
Segment Title Window
The segment title window (title window) shows the information for the
selected segment, see Segment section for selecting a segment. The
title window is located immediately above segment display window.
Example of title window:
Segment 0 20 Symbols 2 Inp VAR: MOVEMENT POS_ERR
Cycle 0.06 11 Rules 1 Out VAR: CURRENT
Where, the first line shows the segment ID, number of fuzzy
membership symbols, number of input variables, and the names of input
variables. The second line shows the cycle rate of the segment,
number of rules, number of output variables, and the names of output
variables.
Adapt Status Window
The adapt status window (adapt window) shows the status of genetic
adaptation. Adapt window only exists under genetic adapting mode, it
is immediately above the title window. Example of adapt window:
Iteration=50 Items=10 Best=0.95 Last=0.85 Worst=0.55 Good=11 Bad=39
Generation=4 From=2 Method=ADJUST_INPUT_SET.INTENSIFY_DILUTE
Mutated set NEG_LARGE defined for POS_ERROR
Average=0.935 Result= 0.935 0.935 0.935 0.935
Where:
Iteration indicates number of iterations
Items items in the best list (gene pool)
Best the best score in the gene pool
Last the last score in the gene pool
Worst the worst score of all iterations
Good number of good iteration
Bad number of bad iteration
Generation the generation of current iteration
From which one (in the pool) been picked for adapting
Method the method used to adapt
Average average score for all tests
Result score for each test
The third line indicates what was changed for the new generation. In
this example, the fuzzy membership set NEG_LARGE defined for
variable POS_ERROR had been mutated (by INTENSIFY_DILUTE).
Segment Display Window
The segment display window (display window) displays important status
and information of the selected segment. The display window occupies
the most part of the screen immediately above the hint window. There
are four types of sub-windows inside display window for showing fuzzy
rules and running status: rule text window (text window), trend plot
window (plot window), combined result window (result window), and fuzzy
rule firing window (firing window). The place and area of these sub-
windows can be rearranged by the user, please see Display menu
section for rearranging display windows.
Text Window
The text window shows the rules and status of the rules for current
selected segment. Each rule is presented in a row with several
columns associated with it. The first column indicates whether the
rule is disabled (marked with 'x') or fired (marked with '*'). The second
column shows the rule number. The rest of columns display the
content of the rule, i.e., the fuzzy membership set symbol for
corresponding inputs and outputs. These content columns are
presented, in different color, with inputs first then the outputs as
the same sequence shown in the title window above it. If local
variables are selected (see Display section) the local variables are
displayed after input variables. In run modes, use cursor keys to
scroll up, down, right, and left for undisplayed contents.
Trend Plot Window
The plot window draws the trend graph for all inputs, outputs, and
selected local variables with time in x-axis and value in y-axis. Each
variable has its own sub-window, started from top to bottom, with the
same sequence and color as in the text window. See sub-section "Set
Plot Time Frame" under Display for changing the frame duration.
Combined Result Window
The result window depicts the result for selected output of the
segment. The trapezoid result of all fired rules, which generate non-
zero output, are in the upper portion of the window . In the lower
portion of the window the defuzzified result (combined result) and the
output value are displayed. Multiple outputs can be selected with
split display area. See sections Segment and Display for selecting
output and arranging display window.
Rule Firing Window
The firing window shows the fuzzy inference status (firing condition)
of selected rules. This feature along with the stepping mode, under
simulation or check segment, is the best way to tuneup or debug the
control system. You'll find the selected rule's fuzzy sets are
displayed to the left of the combined result. The corresponding input
value for each set is plotted vertically in the same window. Note
that each fuzzy set input has the same color as in the text window.
Refer to Display section for arranging display window, and Segment
section for selecting rules.
File Menu: File Functions
The File menu provides the following functions:
Q: Quit
Select 'Q' or use ALT-Q to exit the program.
O: Open segment
Select this option to open a segment from the specified file, GAF will
prompt for the name of the file. If the default directory is specified
(command switch /DIR) and the entered file name does not contain path,
the default directory will be searched for the specified file name.
The segment file can also be specified as the command arguments.
When open a new file segment a sequence number will be assigned to
that segment as its segment ID. The segment ID is used for
displaying segment title.
C: Close segment
Use to close a segment. When selected, GAF pops secondary menu for
a list of all segments for user to select appropriate segment to
close. Note that a closed segment will be marked as "disabled" for
current release, i.e., the memory will not be released.
B: Report selected best list
A: Report all items in list
R: Report file
These options allow user to generate report about the item(s) in the
best list (population pool). Use 'R' to set the file name of the report,
GAF prompts for the file name. Use 'A' to report all items in the list,
and use 'B' to select one out of the best list. When 'B' is selected,
GAF will prompt for the item number to be reported on. The item
number must be between 0 and less than the current population in the
pool.
L: Enable adapt log
D: Enable detail log
G: Log file to
In adapt mode, GAF can generate a log file for user to review. Use 'L'
to enable (disable) the log, use 'D' to switch on (off) detail log. Use
'G' to specify the log file name.
E: Enable plot data
P: Plot data to
When enabled, GAF generates a data file for the result of each
iteration. The data file can be used by MyPlot to plot. The 'P' option
specifies the file name of the data file.
S: Generate statistic log
T: Statistic to
These options allow user to generate statistic report about the
adaptation. Use 'T' to set the file name of the statistic log. The log
includes statistics for all methods. Based on the statistics you may
want to adjust the weight of the adapt methods.
Run Menu: System Run Modes
The Run menu provides different modes for running GAF system. As
mentioned, GAF offers following five running modes: control, monitor,
check segment, simulation, and adapt. Also provided is to terminate (quit)
the program. Although there are five running modes, they can be divided
into two categories: the control (simulation) portion and the automatic
adaptation. While in any of the running modes, use ESC or F10 to escape
back to or bring up the system menu. After bring up the system menu other
functions provided by pull down menus are available except specifically
noted. Upon completion of other functions, ESC again will bring you back
to original running mode. Use Alt-Q to quit the program.
Q: Quit the program
Select this option or type 'Q' to quit the program.
R: Control Mode
M: Monitor Mode
These two modes are disabled for current release.
C: Check Segment
Use this option to start checking the segment specified from the
Segment menu. Use Segment menu to select proper segment, then start
the check mode by selecting this option. Basically, the check mode is
the same as simulation mode, except that only the selected segment
is enabled. For available options during checking, please see
simulation mode's user interfaces.
Simulation Mode
Use this option to start the simulation. Note that you must have
feedback or emulation segment(s) with EMUL_SEGMENT or FEEDBACK
keyword. Or use the Option menu to specify the feedback segment.
When the mode is selected, the current selected segment will be
displayed if it hasn't already been. Use any of these keys, described
as follow, to start the simulation.
Under monitor, check segment, and simulation modes, the following
interactive user interfaces are supported.
C : toggles on/off continuous mode
F : continue until the end of the plot frame
1 ~ 9 : run 1 ~ 9 steps
0 : run 10 steps
+ - : increase/decrease sample rate (see below)
enter : single step
ESC : go to system menu bar
alt-Q : quit the program
F1 ~ F9: see function keys
cursor keys to scroll up, down, right, and left of text window
All other keys, while not in continuous mode, are treated as "Enter"
for single step.
Note that during continuous mode only the following keys would halt
the continuous process: C, ESC, and function keys. The cursor keys
will not halt continuous mode, instead, GAF performs the scroll and
continue its simulation.
There is an easy way to change the sampling rate in sim-schedule and
simulated time mode. That is to use the '+' and '-' keys. By press '+'
or '-' key, GAF adjusts the schedule rate or cycle time by increasing
or decreasing an adjustable amount. Please refer the Option menu
section for setting the adjust amount. The current sample rate
value will be displayed in the hint window at the lower right corner of
the screen.
A: Adapt mode
When adapt mode is selected, GAF starts adaptation of the selected
control segment. The followings must be specified before starting
adaptation: the segment to be adapted (optimized), the evaluation
segment, and the variable for the evaluation result. GAF stops if any
of the required is missing. The following interactive interfaces are
supported in adapt mode.
C : continue
Alt-C : switch to continuous mode
Alt-P : turn on iteration pause
Alt-A : turn on preset cycle pause
Alt-Q : quit the program
ESC : go to system menu bar
F1 ~ F6: see function keys
cursor keys to scroll up, down, right, and left of text window
All other keys will pause adapting temporary.
Option menu: Change Parameters
The option pull down menu allows user to change the simulation and
evaluation environment. Currently only following functions are
supported.
R: Real time mode
T: Sim time mode
S: Sim schedule mode
K: Sim clock mode
These four modes are the basic scheduling policy described in the
Schedule Policy section. The selected mode will be marked with "x" on
the right.
C: Sim schedule rate
Use this option to set desired time interval in seconds for either
simulated time mode or sim-schedule mode. Current value id displayed
on its right.
I: Increment value
As mentioned, an easy way to change the simulated schedule rate is
to use the '+' and '-' keys to increase and decrease the schedule rate.
This option allows user to set the amount of increasing/decreasing,
the default value is 0.005 second.
E: Emulation segment
This option is used to specify the feedback segment. Normally, this
option is only used to show the feedback segment, if proper key word
(FEEDBACK or EMUL_SEGMENT) is used to define the emulation/feedback
segment. When selected, a secondary menu contains all segment names
are displayed for further selection.
V: Eval segment
This option can be used to specify a user defined evaluation segment
instead using EVAL_SEGMENT key word to declare it. The current
evaluation segment ID and its name are shown, if it is specified. When
selected, a secondary menu pops up with names of all segments to
allow user to select the proper segment.
A: Eval result variable
Use this option to specify the evaluation result variable. When
selected, a secondary menu pops up with names of all variables of the
specified evaluation segment to allow user to select the proper
variable. GAF uses "EVAL_RESULT" as default variable.
B: Eval null band
This option allows user to specify a null band of evaluation. The null
band is used by GAF to determine whether it's necessary to check
there are identical generations or not.
Segment Menu: Change segment and value
The segment menu offers user three major functions:
Select a segment for display or for following actions
Change/modify the segment
Control/change the display of the segment
S: Segment number
Use this option to select a segment. The default selected segment
is the first segment (the segment 0). The selected segment is
displayed in the display window and title window. When selected, a
secondary menu pops up with names of all segments to allow user to
select the proper segment.
E: Segment enabled
To toggle enable or disable the selected segment. If the segment is
enabled it will be marked with "x". Note that when a segment is
disabled with this option, it will not be enabled by the "ENABLE"
condition defined in the FCL, however, when the option is enabled then
the "ENABLE" condition determines whether the segment is enabled or
not.
C: Cycle time
Change the cycle time for the selected segment. Note that the real
cycle time may depend on the running mode and time mode been
selected. Refer to Schedule Policy section for more information.
I: Set input value
O: Set output value
L: Set local variable value
These options allow user to manually set a variable's value. After
select one of these options, GAF pops up a secondary menu with all
variable names alone with their variable number. Select a variable,
GAF then requests for new value. Enter the new desired value will
close all menus. Note that you can use F7 to initialize the system,
see function key for detail.
G: Set output gain
Use this selection to change the gain of selected output. Again, just
like setting variable value, GAF asks for output variable and then
the new gain value.
N: Enable rule
D: Disable rule
GAF allows you to enable or disable the rule(s) in any of the running
modes. The disabled rules are marked with 'x' at the first column in
text window. Select one of these options, GAF then highlights the
first rule at the second column in text window. Use cursor keys to
move highlighted cursor and then press 'Enter' to enable or disable
the rule.
A: Enable all rules
This option gives user an easy way to enable all rules.
R: Display result
After changing the Display window's arrangement, i.e. selecting whole
display or no plot mode, use this option to select the desired output
you want to display. Note that GAF automatically selects the first
output for display, if none is selected.
F: Display rule firing
The above option (Display result) allows user to specify the output
to display, this option allows user to select rule to be displayed
with its detail inferencing in firing window. When select this option,
like disable/enable rule, GAF uses the text window for selecting menu.
Note that selected rules are marked with 'x'.
M: Combined result only
When this option is selected, GAF deselects all rules from displaying
its inference (firing window). So only the combined result will be
displayed.
P: Preset to
Use this option to preset to a specific state defined by "PRESET"
statements in segment(s). GAF will prompt for the preset number.
Please refer to F8 of function key for similar function.
Display Menu: Arrange Display Windows
The display menu allows user to arrange and select the screen layout,
text font, and color of the screen display.
1: Use standard font
2: Use small font
With these two options, you can switch between normal text display
or small font text display.
3: Select normal display mode
The normal display mode displays the text window on the left portion
of the display window and the plot window on the right. See window
split for changing the size of text window.
4: Select whole display mode
In this mode the text window still occupies the left portion, but the
right portion of the display window splits into two parts, the upper
half shows the plot window, and the lower half displays the combined
result and/or firing window. See Segment section for more
information about selecting rules and outputs. See window split for
changing size of text window.
5: Select plot only mode
This option allows you to see only the plot. GAF dedicates the entire
display window to plot sub-window except reduces the text window to
only first two columns on the left, which shows the status and rule
number.
6: Select no plot mode
This display mode removes plot window from the right portion. So the
combined result and/or firing window are displayed on the right along
with text window on the left.
7: Select text only mode
This mode shows the text window only. Because graphics, i.e. trend
plot, combined result, and firing condition, takes much of CPU time,
this mode allows you to speed up the test or control.
P: Plot duration
The default plot frame period is five seconds (except in auto clock
mode). Use this option to change the frame duration, the value is
specified in seconds.
C: Color/monochrome
Use this option to switch between color and mono mode.
W: Window split (Change size of text window)
Allows user to change the size of the text window. The value is
specified in percent, i.e. 60 means that text window occupies 60% of
the display window. If the value is greater than 90, GAF
automatically switches to text only mode. If the value is less than
10, GAF shuts text window off (except the left most two columns).
D: Display local variable
The default display mode is to display/plot IN, OUT, and INOUT
variables. The LOCAL variables are not displayed. Use this option to
enable LOCAL variables.
Adapt Menu: Setup adapt environment
The adapt menu is used to change the overall environment for genetic
adaptation. See the Method section for more information about
controlling the genetic algorithm.
C: Continuous mode
Set the adaptation to continuous mode without pause or delay, unless
user interferes. The continuous mode is the default mode after
starting adaptation.
P: Iteration pause
Y: Pause per cycle
These two options allow user to halt the adapting process in order
to examine it. The iteration pause is to halt at the end of each
iteration. The cycle pause is to halt at the end of each preset cycle.
Type 'C' to continue, press Alt-C to switch back to continuous mode.
Also see Iteration and Cycle delay.
S: Sample number
Specifies number of samples should be taken for calculating each
preset test's evaluation result.
W: Weight increment
GAF uses linear proportional weight for random selecting from the
gene pool. This option is to set the linear increment of the weight.
For example the increment is 2, then the weight for the best in the
gene pool will be 2 * 100 = 200, and the weight for the worst in the
pool will be 2.
B: Max best items
The number of items kept in the best list (gene pool). The limit of this
value is 1 to 10.
I: Max iteration
This allows user to specify the maximum number of iterations. GAF
stops after this number of iterations is reached. If the value is
less than or equal to 0, there is no limit.
T: Test time
As explained the test time is the time for each preset test before
evaluate the result. Use this to set the proper value, in general it
should be greater than the rising time for the longest response in all
preset tests.
D: Iteration delay
L: Cycle delay
Instead pause for each iteration/preset cycle, users can specify
time delay between iterations or preset cycles. Zero value means
continuous.
O: Minimum score
This value defines the minimum score for a successful preset test
cycle. GAF tries to go through all preset tests, but stops after any
preset test failed to score the minimum value. The default value is
0.6.
A: Adapt segment
Use this option to change the segment you want to adapt. The name
of the current selected adapt segment is shown on the next line in
the menu. When selected, a secondary menu pops up with names of all
segments to allow user to select the proper segment. Note that the
selected adapt segment may not be the same as the selected display
segment.
U: Use best list
G: Use original segment
The first option allows user to pick one adaptation out of the best
list and then switch to simulation mode for testing or debugging. The
"Use original segment" option allows user to switch back to the
original segment, which is loaded from the file.
R: Reset best list
This option allows user to clear the gene pool, i.e. delete every
sample in the gene pool.
Method Menu: Control Genetic Algorithm
The method menu allows user to control the adaptation algorithms by
setting new weight factor. A method can be disabled by setting zero
weight. For example, if no new rules are allowed then set "adding rules"
to zero. The method menu is divided into two parts, the upper half for
changing weights for overall adapting methods. The lower half is to
change the detailed weight for specific adapting method.
Z: Zero all weights
This option zeros all weights in the upper half adapting methods.
C: Change rules
The option changes the overall weight for adapting existing rules.
I: Adjust input set
4: Adjust input set ...
The first option (in the upper half) changes the overall weight for
adapting input fuzzy membership set. The second option is used to
change the detail adapting weights inside input set adaptation. When
the second option is selected, GAF pops up a sub menu under method
menu. The followings are options in the sub menu.
M: Mutate
Use this option to set the weight of mutation.
C: Crossover
To set the weight of crossover for adjusting fuzzy set.
I: Intensify/dilute
Set the weight of intensify and dilute for adjusting fuzzy input
set.
B: Broaden/restrict
Set the weight of broaden and restrict for adjusting fuzzy input
set.
S: Shift fuzzy set
Set the weight of shift fuzzy input set.
T: Change truth
Set the weight of adjusting the truth of an input set.
K: Scale (0 - 1)
The scale factor defines how much change is allowed for the
above methods, except mutate and crossover. The amount is the
percentage of the member set. One means 100% and zero means
none.
A: Adding new rule
This option sets the weight of adding new rules into the adapting
segment. See Maximum rules to define the limit of rules.
E: En/dis-able rule
This option sets the weight of enable/disable existing rules in the
adapting segment.
T: Alter cycle time
This option sets the overall weight of altering cycle time of the
segment. The range of cycle time can be specified with max and min
cycle time.
G: Alter output gain
This option sets the weight of adjusting the output gain to form a
new generation.
1: Max cycle time
2: Min cycle time
These two values clamp the sample rate, the cycle time of the
segment. GAF will not exceed these limits during adaptation when
adapting of cycle time is enabled (the weight for alter cycle time is
greater than 0).
3: Maximum rules
This option allows user to set a limit for number of rules is allowed
during adaptation. If the number is less than 1 there will be no limit.
Function Keys
F1: Get help
GAF provides context sensitive help. Press F1 to call up the on-line
help. Inside help you can jump to other topic by selecting listed
topic.
F2: Display the system info
Press F2 to see the system limits. The system info shows the version
of GAF, system wide limits, and current free memory status.
IO length (in bits)
the supported analog IO bits
Number of sets per segment
maximum number of fuzzy input sets in a segment
Number of rules per segment
maximum number of rules in a segment
Total variables per segment
maximum number of variables (IN, OUT, and LOCAL) in a segment
Number of segments
maximum number of segments in the system
Number of fuzzy symbols
maximum number of fuzzy symbols in a segment
Name length (IO & symbol)
number of characters for names (variable name or symbol name)
Number of best genes
the maximum limit of the gene pool (best list)
F3: Next segment
Press F3 to switch the display segment, i.e., cycle through all
segments.
F4: View segment information
Press F4 to see the variable definition, initialization and run
functions, and other information for the selected display segment.
F5: View symbol definition
Press F5 to see the fuzzy set symbols' definition for this segment.
F6: View preset definition
Press F6 to see the preset definition for this segment.
F7: Initialize the system
The F7 function key allows you to initialize the system. This is
defined in each segment's INITIALIZATION declaration. GAF goes
through all segments to execute the initialization defined in each
segment and then resets the segment scheduler.
F8: Preset the system
The F8 function key allows users cycle through all presets defined
for all segments during simulation.
F9: Zero the system
Press F9 to zero all the inputs and outputs for all the segments
during simulation.
Command Syntax
The command syntax for GA FuzzyWare is:
GAF [switches] [segment files]
Available command switches are:
/DIR=dir_path to specify the default directory for segment files
/CFG=file_name to specify the configuration file
/H or /? help
Examples:
GAF /dir=c:\gaf a1.seg a2.seg a3.seg
specifies all a1 ~ a3 files are under c:\gaf directory.
GAF /dir=c:\gaf app.s00 /dir=c:\app app.s01 app.s02
specifies app.s00 under c:\gaf, both app.s01 and app.s02 are
under c:\app directory.
Configuration
When starts up, GAF searches configuration file in following order
specified by /CFG command switch
"GAF.CFG" under current directory
"GAF.CFG" at where GAF.EXE resides
The configuration file is a text file for setting up the GAF environment.
The format of the configuration file is a series of "attribute =
attribute_value;". The attribute can be in any order and can be defined
multiple times with the latter value overrides the previous value. The
configuration attribute can also be included inside FCL module file by
enclosing it within "CONFIGURATION" and "END_CONFIGURATION;" keywords.
Because FCL modules are processed after GAF.CFG, so FCL's configuration
will override GAF.CFG. Please refer to FCL.DOC for details.